home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / The World of Computer Software.iso / namer.zip / NAMER.BAS next >
BASIC Source File  |  1993-01-04  |  2KB  |  74 lines

  1. ' An attempt at the NAMER program
  2. ' Dave Lartigue
  3. ' 30 December 1992
  4.  
  5. ' Variables
  6. DIM COUNT AS INTEGER
  7.  
  8. COUNT = 0
  9.  
  10. ' Program
  11.  
  12. OPEN "NAMER.DAT" FOR INPUT AS #1
  13.  
  14. DO UNTIL EOF(1)
  15.         COUNT = COUNT + 1
  16.         INPUT #1, JUNK$
  17. LOOP
  18.  
  19. CLOSE #1
  20. DIM SHARED NAME$(COUNT)
  21. COUNT = 0
  22.  
  23. OPEN "NAMER.DAT" FOR INPUT AS #1
  24.  
  25. DO UNTIL EOF(1)
  26.         COUNT = COUNT + 1
  27.         INPUT #1, NAME$(COUNT)
  28. LOOP
  29. CLS
  30. PRINT "         NAMER"
  31. PRINT "         Random Alias Generator"
  32. PRINT
  33. PRINT "         Currently there are"; COUNT; "words in the NAMER.DAT file."
  34. PRINT
  35. PRINT "         Press <Esc> to exit, any other key to produce another alias."
  36. PRINT
  37. RANDOMIZE
  38.  
  39. GetNums:
  40.         X = INT(RND * COUNT) + 1
  41.         Y = INT(RND * COUNT) + 1
  42.         IF X = Y THEN GOTO GetNums
  43.         IF RIGHT$(NAME$(X), 1) = "@" OR RIGHT$(NAME$(Y), 1) = "@" THEN GOTO GetNums
  44.         IF RIGHT$(NAME$(X), 1) = "*" AND RIGHT$(NAME$(Y), 1) = "*" THEN GOTO GetNums
  45.         IF RIGHT$(NAME$(X), 1) = "." AND RIGHT$(NAME$(Y), 1) = "." THEN GOTO GetNums
  46.         IF RIGHT$(NAME$(X), 1) = "." THEN
  47.                 T = X
  48.                 X = Y
  49.                 Y = T
  50.         END IF
  51.         IF RIGHT$(NAME$(Y), 1) = "*" THEN
  52.                 T = X
  53.                 X = Y
  54.                 Y = T
  55.         END IF
  56.        
  57. FIRST$ = NAME$(X)
  58. LAST$ = NAME$(Y)
  59.  
  60. IF RIGHT$(FIRST$, 1) = "*" THEN
  61.         FIRST$ = LEFT$(FIRST$, LEN(FIRST$) - 1)
  62. END IF
  63. IF RIGHT$(LAST$, 1) = "." THEN
  64.         LAST$ = LEFT$(LAST$, LEN(LAST$) - 1)
  65. END IF
  66.        
  67. PRINT FIRST$; " "; LAST$
  68.  
  69. GetOut:
  70. Y$ = INKEY$
  71. IF Y$ = "" THEN GOTO GetOut
  72. IF ASC(Y$) <> 27 THEN GOTO GetNums
  73.  
  74.